//
// DebugString.h
// =============
// String for logging and debugging use.
//

#ifndef __DEBUG_STRING_H__
#define __DEBUG_STRING_H__

// Symbol Names
#define SN_LOADER_TASK_REFERENCE_OBJECT		L"LT_REFOBJ"
#define SN_LOADER_TASK						L"LOADER_TASK"
#define SN_LOADER_TASK_QUEUE				L"LOADER_TASK_QUEUE"
#define SN_RESOURCE_DATA					L"RESOURCE_DATA"
#define SN_RESOURCE_DATA_REFERENCE_OBJECT	L"RD_REFOBJ"
#define SN_RESOURCE_CACHE_TASK				L"RESOURCE_CACHE_TASK"
#define SN_RESOURCE_MANAGER					L"RESOURCE_MANAGER"
#define SN_SHADER_EFFECT					L"SHADER_EFFECT"

// LoaderTask
#define DS_LOADER_TASK_ACCEPTED		L"A loader task accepted."
#define DS_CREATE_THREAD_FAILED		L"CreateThread() failed. Last Error = 0x%08X"

// ResourceManager
#define DS_OUT_OF_MEMORY			L"Failed to allocate memory blocks. Size = %d"
#define DS_RESOURCE_MGR_LOADED		L"ResourceManager instance created."
#define DS_RESOURCE_MGR_UNLOADED	L"ResourceManager instance destroyed."
#define DS_RESOURCE_PACK_ADDED		L"Resource package added: %s"
#define DS_RESOURCE_PACK_REMOVED	L"Resource package removed: %s"
#define DS_ALL_RESPACKS_REMOVED		L"All resouce packages removed."
#define DS_ALL_RESCACHE_REMOVED		L"All resource cache removed."
#define DS_RESOURCE_PACK_NOT_FOUND	L"Package \"%s\" not found."
#define DS_FETCHING_RESOURCE_FILE	L"Fetching resource \"%s\"..."
#define DS_RESOURCE_NOT_FOUND		L"Resource \"%s\" not found."
#define DS_GET_PACKAGE_FAILED		L"getPackage() failed."
#define DS_CACHE_TASK_NOT_FOUND		L"Cache task \"%s\" not found."
#define DS_ADD_TASK_FAILED			L"addTask() failed."
#define DS_CACHE_OBJECT_FAILED		L"cacheObject() failed."

// Graphics
#define DS_GRAPHICS_CREATED			L"Graphics instance created."
#define DS_GRAPHICS_DESTROYED		L"Graphics instance destroyed."
#define DS_GRAP_INITIALIZED_TWICE	L"Graphics system already initialized."
#define DS_D3D_CREATE_FAILED		L"Direct3DCreate9() failed while acquiring SDK version %d."
#define DS_D3D_CREATED				L"Direct3D9 instance created. SDK version %d."
#define DS_GRAP_PREREQUISITE_FALIED	L"checkPrerequisite() failed."
#define DS_GRAP_PREREQUISITE_PASSED	L"Prerequisite tests passed."
#define DS_CREATE_DEVICE_FAILED		L"CreateDevice() failed. HRESULT = 0x%08X."
#define DS_GRAP_CREATE_FONT_FAILED	L"createFont() failed."
#define DS_GRAPHICS_INITIALIZED		L"Graphics system initialized."
#define DS_GRAPHICS_RELEASED		L"Graphics system released."
#define DS_GRAP_TARGET_RESOLUTION	L"Target Resolution: %dx%dx32 @ %d Hz."
#define DS_CHECK_DEVTYPE_FAILED		L"CheckDeviceType() failed: Target color depth not supported. HRESULT = 0x%08X."
#define DS_NO_DISPLAY_MODE			L"No display mode found."
#define DS_DISPLAY_MODE_COUNT		L"%d display mode(s) found."
#define DS_ENUM_ADAPTER_MODE_FAILED	L"EnumAdapterModes() failed. HRESULT = 0x%08X."
#define DS_DISPLAY_MODE_FORMAT		L"Display Mode #%d: %dx%dx32 @ %d Hz."
#define DS_TARGET_DISPMODE_FOUND	L"Target display mode found."
#define DS_NO_SUITABLE_DISPMODE		L"No suitable display mode."
#define DS_GET_DEVICE_CAPS_FAILED	L"GetDeviceCaps() failed. HRESULT = 0x%08X."
#define DS_HARDWARE_ACCEL_ENABLED	L"Hardware acceleration supported."
#define DS_HARDWARE_ACCEL_DISABLED	L"Hardware acceleration unsupported. Rendering process may be slow."
#define DS_PIXEL_SHADER_SUPPORTED	L"Pixel Shader 2.0 supported."
#define DS_PIXEL_SHADER_UNSUPPORTED L"Pixel Shader 2.0 unsupported."
#define DS_MSAA_ENABLED				L"2x MSAA supported. Quality = %d."
#define DS_MSAA_DISABLED			L"MSAA unsupported."
#define DS_PRESENT_FAILED			L"Present() failed. HRESULT = 0x%08X."
#define DS_BEGIN_SCENE_FAILED		L"BeginScene() failed. HRESULT = 0x%08X."
#define DS_D3D_CREATE_FONT_FAILED	L"D3DXCreateFont() failed. HRESULT = 0x%08X."
#define DS_TEX_FROM_FILE_EX_FAILED	L"D3DXCreateTextureFromFileEx() failed. HRESULT = 0x%08X."
#define DS_TEX_FROM_MEM_EX_FAILED	L"D3DXCreateTextureFromFileInMemoryEx() failed. HRESULT = 0x%08X."
#define DS_VERTEX_BUF_CREATE_FAILED L"CreateVertexBuffer() failed. HRESULT = 0x%08X."
#define DS_SHADER_APPLY_FAILED		L"Failed to apply shader effect. HRESULT = 0x%08X."

// Shader Effect
#define DS_MULTIPLE_SHADER_LOAD		L"Warning: Call load twice without unload first. Unload previous shader now."
#define DS_INCOMPLETE_SHADER_HEADER L"Incomplete shader header found."
#define DS_SHADER_COMPILE_FAILED	L"D3DXCompileShader() failed. HRESULT = 0x%08X."
#define DS_CREATE_PS_FAILED			L"CreatePixelShader() failed. HRESULT = 0x%08X."
#define DS_CREATE_VS_FAILED			L"CreateVertexShader() failed. HRESULT = 0X%08X."
#define DS_UNKNOWN_SHADER_TYPE		L"Unknown shader type \"%s\""

#endif // __DEBUG_STRING_H__
